home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
pcboard
/
ppepakts.zip
/
PPEMENU.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-04-18
|
6KB
|
242 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer TINTEGER004(30)
Integer INTEGER005
String STRING001
String TSTRING002(20)
String TSTRING003(20)
String TSTRING004(20)
String STRING005
String TSTRING006(20)
String STRING007
String STRING008
;------------------------------------------------------------------------------
:LABEL001
STRING007 = GetToken()
Gosub LABEL004
If (INTEGER001 <> 930612) Then
Gosub LABEL005
Endif
If (STRING007 <> "") Then
STRING008 = "YES"
STRING005 = STRING007
Else
Gosub LABEL006
:LABEL002
STRING005 = ""
AnsiPos 1, 21
InputText "Choose either by number or name - Q to quit", STRING005, 14, 8
AnsiPos 47, 21
Print Space(8)
AnsiPos 1, 20
Print Space(80)
If (Upper(STRING005) == "Q") Goto LABEL007
If (Upper(STRING005) == "") Goto LABEL002
Endif
For INTEGER002 = 1 To 20
If (Upper(STRING005) == Upper(Trim(TSTRING003(INTEGER002), " "))) Then
INTEGER005 = INTEGER002
Goto LABEL003
Endif
Next
INTEGER005 = STRING005
If (STRING008 == "YES") Then
PrintLn "File ", STRING007, " not found"
End
Endif
If ((STRING005 > INTEGER003) || (STRING005 < 1)) Goto LABEL002
:LABEL003
If (CurSec() < TINTEGER004(INTEGER005)) Then
AnsiPos 1, 20
Print "@X0CYour current security level does not permit access to that option."
Goto LABEL002
Endif
If (FileInf(TSTRING004(INTEGER005), 1) <> 1) Then
If (STRING008 == "YES") Then
PrintLn "@X0CError loading PPE - ", TSTRING004(INTEGER005)
End
Endif
AnsiPos 1, 20
Print "@X0CError loading PPE - ", TSTRING004(INTEGER005)
Goto LABEL002
Endif
Call TSTRING004(INTEGER005)
If (STRING008 == "YES") Then
End
Else
Goto LABEL001
Endif
:LABEL004
GetUser
If (FileInf(PPEPath() + "ppemenu.cnf", 1) <> 1) Then
FCreate 0, PPEPath() + "ppemenu.cnf", 2, 0
FPutLn 0, "bbsname goes here"
FPutLn 0, "000000"
FPutLn 0, "---------1---------2---------3---------4---------5"
FPutLn 0, "name1 file description 005 C:\PCB\PPE\XXX.PPE"
FPutLn 0, "name2 file description 005 C:\PCB\PPE\XXX.PPE"
FPutLn 0, "and so on up to 20 names 005 C:\PCB\PPE\XXX.PPE"
FPutLn 0, "Sec level must be > 0 005 C:\PCB\PPE\XXX.PPE"
FClose 0
STRING001 = ReadLine(PPEPath() + "ppemenu.cnf", 1)
INTEGER001 = ReadLine(PPEPath() + "ppemenu.cnf", 2)
For INTEGER002 = 1 To 20
TSTRING002(INTEGER002) = ReadLine(PPEPath() + "ppemenu.cnf", INTEGER002 + 3)
TSTRING003(INTEGER002) = Mid(TSTRING002(INTEGER002), 1, 8)
TSTRING006(INTEGER002) = Mid(TSTRING002(INTEGER002), 10, 21)
TINTEGER004(INTEGER002) = Mid(TSTRING002(INTEGER002), 32, 3)
TSTRING004(INTEGER002) = Mid(TSTRING002(INTEGER002), 36, 20)
Next
Gosub LABEL006
AnsiPos 1, 20
PrintLn "Please review your doc and edit ppemenu.cnf before continuing on"
Goto LABEL007
Else
STRING001 = ReadLine(PPEPath() + "ppemenu.cnf", 1)
INTEGER001 = ReadLine(PPEPath() + "ppemenu.cnf", 2)
For INTEGER002 = 1 To 20
TSTRING002(INTEGER002) = ReadLine(PPEPath() + "ppemenu.cnf", INTEGER002 + 3)
TSTRING003(INTEGER002) = Mid(TSTRING002(INTEGER002), 1, 8)
TSTRING006(INTEGER002) = Mid(TSTRING002(INTEGER002), 10, 21)
TINTEGER004(INTEGER002) = Mid(TSTRING002(INTEGER002), 32, 3)
TSTRING004(INTEGER002) = Mid(TSTRING002(INTEGER002), 36, 20)
If (TINTEGER004(INTEGER002) > 0) Then
INTEGER003 = INTEGER002
Endif
Next
Endif
Return
:LABEL005
Cls
PrintLn
PrintLn "@X01 @X71┌────────────────────────────────────────────────────┐@X00"
PrintLn "@X01 @X78│ @X71│@X00"
PrintLn "@X01 @X78│ @X74 UNREGISTERED version @X71│@X00"
PrintLn "@X01 @X78│ @X71│@X00"
PrintLn "@X01 @X78│ @X74 PPEMENU v(1.0) @X71│@X00"
PrintLn "@X01 @X78│ @X71│@X00"
PrintLn "@X01 @X78│ @X71│@X00"
PrintLn "@X01 @X78│ @X74 You can register me for $10 - refer to @X71│@X00"
PrintLn "@X01 @X78│ @X74 the documentation supplied with the program. @X71│@X00"
PrintLn "@X01 @X78│ @X71│@X00"
PrintLn "@X01 @X78└────────────────────────────────────────────────────@X71┘@X00"
PrintLn "@X01"
PrintLn "@X0ACopyright (c) 1993 Tin Shack Software"
AnsiPos 1, 18
PrintLn "Please wait...."
Delay 180
Return
:LABEL006
Cls
PrintLn "@X01 @X8C┌─────────────────────────────────────────────────────────────────────────┐"
PrintLn "@X01 @X8C│@X03 ▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒ ▒▒▒▒▒ @X8C │"
PrintLn "@X01 @X8C│@X03 ▒ @X0B█████ @X03▒ @X0B████ @X03▒ @X0B█████ @X03▒ @X0B█████ @X03▒ @X0B████ ▒ @X0B█████ @X8C │"
PrintLn "@X01 @X8C│@X03 ▒▒@X0B█@X03▒▒ @X0B█ @X03▒▒@X0B█@X03▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒▒ @X8C │"
PrintLn "@X01 @X8C│@X03 ▒ @X0B█████ @X03▒ @X0B████ @X03▒ @X0B█ @X03▒ @X0B█████ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█████ @X8C │"
PrintLn "@X01 @X8C│@X03 ▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒▒ ▒ @X0B█ @X03▒ @X0B█ @X03▒▒@X0B█@X03▒ @X0B█ @X03▒▒@X0B█@X03▒▒ @X8C │"
PrintLn "@X01 @X8C│@X0B █ █ █ █ █████ █ █ ████ █████ @X8C │"
PrintLn "@X01 @X8C└─────────────────────────────────────────────────────────────────────────┘"
PrintLn "@X0E ************ Check out these games on the ", STRING001, ". ***********"
For INTEGER002 = 1 To 10
AnsiPos 5, INTEGER002 + 9
Print "@X0D", Right(INTEGER002, 2), " - ", Left(TSTRING003(INTEGER002), 8), "@X0E ", Left(TSTRING006(INTEGER002), 21)
AnsiPos 41, INTEGER002 + 9
Print "@X0D ", Right(INTEGER002 + 10, 2), " - ", Left(TSTRING003(INTEGER002 + 10), 8), "@X0E ", Left(TSTRING006(INTEGER002 + 10), 21)
Next
Return
:LABEL007
AnsiPos 1, 21
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 2 Cls
; 29 Goto
; 29 Let
; 6 Print
; 27 PrintLn
; 17 If
; 1 FCreate
; 1 FClose
; 7 FPutLn
; 1 GetUser
; 4 Gosub
; 3 Return
; 1 Delay
; 1 InputText
; 1 Call
; 10 AnsiPos
;
;
; ■ Functions used :
;
; 19 +
; 6 ==
; 4 <>
; 6 <
; 4 <=
; 2 >
; 8 >=
; 14 !
; 8 &&
; 5 ||
; 4 Upper()
; 8 Mid()
; 4 Left()
; 2 Right()
; 2 Space()
; 1 Trim()
; 8 PPEPath()
; 6 ReadLine()
; 1 CurSec()
; 1 GetToken()
; 2 FileInf()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 0 While/EndWhile
; 10 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------